home *** CD-ROM | disk | FTP | other *** search
- /* The instruction set. */
-
- /* --- The instruction set has been extended for Moscow ML! --- */
-
- /* One instruction per line only. */
-
- enum instructions {
- CONSTBYTE,
- CONSTSHORT,
- SWITCH,
- BRANCH,
- BRANCHIF,
- BRANCHIFNOT,
- POPBRANCHIFNOT,
- BRANCHIFNEQTAG,
- BRANCHIFEQ,
- BRANCHIFNEQ,
- BRANCHIFLT,
- BRANCHIFGT,
- BRANCHIFLE,
- BRANCHIFGE,
- BRANCHINTERVAL,
- C_CALL1,
- C_CALL2,
- C_CALL3,
- C_CALL4,
- C_CALL5,
- C_CALLN,
- MAKEBLOCK,
- MAKEBLOCK1,
- MAKEBLOCK2,
- MAKEBLOCK3,
- MAKEBLOCK4,
- TAGOF,
- ACCESS,
- ACC0,
- ACC1,
- ACC2,
- ACC3,
- ACC4,
- ACC5,
- ACC6,
- ACC7,
- PUSHACC,
- PUSHACC0,
- PUSHACC1,
- PUSHACC2,
- PUSHACC3,
- PUSHACC4,
- PUSHACC5,
- PUSHACC6,
- PUSHACC7,
- ENVACC,
- ENV1,
- ENV2,
- ENV3,
- ENV4,
- ENV5,
- ENV6,
- ENV7,
- PUSHENVACC,
- PUSHENV1,
- PUSHENV2,
- PUSHENV3,
- PUSHENV4,
- PUSHENV5,
- PUSHENV6,
- PUSHENV7,
- PUSH_ENV1_APPLY1,
- PUSH_ENV1_APPLY2,
- PUSH_ENV1_APPLY3,
- PUSH_ENV1_APPLY4,
- PUSH_ENV1_APPTERM1,
- PUSH_ENV1_APPTERM2,
- PUSH_ENV1_APPTERM3,
- PUSH_ENV1_APPTERM4,
- PUSHATOM,
- ATOM,
- PUSHATOM0,
- ATOM0,
- ATOM1,
- ATOM2,
- ATOM3,
- ATOM4,
- ATOM5,
- ATOM6,
- ATOM7,
- ATOM8,
- ATOM9,
- CONSTINT,
- PUSHCONSTINT,
- CONST0,
- CONST1,
- CONST2,
- CONST3,
- PUSHCONST0,
- PUSHCONST1,
- PUSHCONST2,
- PUSHCONST3,
- GETFIELD,
- GETFIELD0,
- GETFIELD1,
- GETFIELD2,
- GETFIELD3,
- GETFIELD0_0,
- GETFIELD0_1,
- GETFIELD1_0,
- GETFIELD1_1,
- SETFIELD,
- SETFIELD0,
- SETFIELD1,
- SETFIELD2,
- SETFIELD3,
- GETGLOBAL,
- PUSH_GETGLOBAL,
- PUSH_GETGLOBAL_APPLY1,
- PUSH_GETGLOBAL_APPLY2,
- PUSH_GETGLOBAL_APPLY3,
- PUSH_GETGLOBAL_APPLY4,
- PUSH_GETGLOBAL_APPTERM1,
- PUSH_GETGLOBAL_APPTERM2,
- PUSH_GETGLOBAL_APPTERM3,
- PUSH_GETGLOBAL_APPTERM4,
- SETGLOBAL,
- PUSH_RETADDR,
- APPLY,
- APPLY1,
- APPLY2,
- APPLY3,
- APPLY4,
- APPTERM,
- APPTERM1,
- APPTERM2,
- APPTERM3,
- APPTERM4,
- RESTART,
- GRAB,
- RETURN1,
- RETURN2,
- RETURN,
- CLOSURE,
- CLOSREC,
- DUMMY,
- UPDATE,
- PUSHTRAP,
- RAISE,
- POPTRAP,
- SWAP,
- PUSH,
- POP,
- ASSIGN,
- BOOLNOT,
- ADDINT,
- SUBINT,
- MULINT,
- DIVINT,
- MODINT,
- ANDINT,
- ORINT,
- XORINT,
- SHIFTLEFTINT,
- SHIFTRIGHTINTSIGNED,
- SHIFTRIGHTINTUNSIGNED,
- EQ,
- NEQ,
- LTINT,
- GTINT,
- LEINT,
- GEINT,
- FLOATOFINT,
- SMLNEGFLOAT,
- SMLADDFLOAT,
- SMLSUBFLOAT,
- SMLMULFLOAT,
- SMLDIVFLOAT,
- INTOFFLOAT,
- EQFLOAT,
- NEQFLOAT,
- LTFLOAT,
- GTFLOAT,
- LEFLOAT,
- GEFLOAT,
- STRINGLENGTH,
- GETSTRINGCHAR,
- SETSTRINGCHAR,
- EQSTRING,
- NEQSTRING,
- LTSTRING,
- GTSTRING,
- LESTRING,
- GESTRING,
- MAKEVECTOR,
- VECTLENGTH,
- GETVECTITEM,
- SETVECTITEM,
- SMLNEGINT,
- SMLSUCCINT,
- SMLPREDINT,
- SMLADDINT,
- SMLSUBINT,
- SMLMULINT,
- SMLDIVINT,
- SMLMODINT,
- MAKEREFVECTOR,
- SMLQUOTINT,
- SMLREMINT,
- CHECK_SIGNALS,
- STOP,
- EQUNSIGN,
- NEQUNSIGN,
- LTUNSIGN,
- GTUNSIGN,
- LEUNSIGN,
- GEUNSIGN
- };
-